package com.xydtech.ecard.statistics.service;

import com.alibaba.fastjson.JSONObject;
import com.xydtech.ecard.statistics.domain.EcardReportQuery;

import java.util.List;
import java.util.Map;

/**
 * 电子名片报告查询记录Service接口
 *
 * @author xydtech
 * @date 2022-02-24
 */
public interface IEcardReportQueryService {
    /**
     * 查询电子名片报告查询记录
     *
     * @param id 电子名片报告查询记录主键
     * @return 电子名片报告查询记录
     */
    public EcardReportQuery selectEcardReportQueryById(Long id, String salt);

    /**
     * 查询电子名片报告查询记录列表
     *
     * @param ecardReportQuery 电子名片报告查询记录
     * @return 电子名片报告查询记录集合
     */
    public List<EcardReportQuery> selectEcardReportQueryList(EcardReportQuery ecardReportQuery, String salt);

    /**
     * 新增电子名片报告查询记录
     *
     * @param ecardReportQuery 电子名片报告查询记录
     * @return 结果
     */
    public int insertEcardReportQuery(EcardReportQuery ecardReportQuery, String salt) throws Exception;

    /**
     * 修改电子名片报告查询记录
     *
     * @param ecardReportQuery 电子名片报告查询记录
     * @return 结果
     */
    public int updateEcardReportQuery(EcardReportQuery ecardReportQuery, String salt);

    /**
     * 批量删除电子名片报告查询记录
     *
     * @param ids 需要删除的电子名片报告查询记录主键集合
     * @return 结果
     */
    public int deleteEcardReportQueryByIds(String ids);

    /**
     * 删除电子名片报告查询记录信息
     *
     * @param id 电子名片报告查询记录主键
     * @return 结果
     */
    public int deleteEcardReportQueryById(Long id);

    /**
     *生成报告
     * @Title: createReport
     * @param appId
     * @param deptId
     * @param currentUserId
     * @param prdTarget
     * @param params
     * @return java.lang.String
     * @exception
     * @author JHON
     * @Date 2022/2/24 9:58
     **/
    JSONObject createReport(String appId, Long deptId, String currentUserId, String prdTarget, Map<String, Object> params) throws Exception;
}
